1. Field of the Invention
The present invention is generally related to printing and, more particularly, to systems and methods for caching rasterized image data for printing.
2. Description of the Related Art
Generally, a printer can translate information received electronically from a computing device and print the translated information onto paper. Over the years, printers have improved with regard to printing speed as well as other capabilities. For example, several years ago, printers only had the capability of printing text in one color. Today, detailed images can be printed and in many colors. Advancements in computing devices as well as the printers have made this possible. The method in which the information is sent from the computing device to the printer has also greatly developed over this time period.
By way of example, network communication has changed the relationship between computing devices and printers. Today, some printers, typically high-end printers, include hardware components that originally were only in the computing devices. For example, memory elements, such as hard drives, are now incorporated into some printers. This can enable less communication to occur between the computing devices and the printers when performing printing. This can be beneficial because communication links between computing devices and printers can be a great bottleneck in the delivery of the information to be printed.
The processing of the image information has also made great strides. However, one aspect of image information processing tends to be time-consuming. In particular, providing information to the printers' electronic and mechanical components, (commonly referred to as the “printer engine”) in a format that can be interpreted by the printer engine takes time. This is because the image information that a computing device generates, typically, cannot be interpreted directly by the printer engine. Therefore, the information to be printed, typically, is processed into a format suited for the printer engine. This process is generally known as “rasterizing.”
When an application in a computing device sends a print job to the printer for printing, the print job could include, for example, information corresponding to the number of copies, the media, and the image data that is to be printed. The text and image data is usually stored in a temporary file that is passed to the printer and is configured in a way the printer engine cannot directly interpret. These formats are known in the art as Page Description Languages (PDLs). Examples of these various formats are: Postscript (PS) and Printer Control Language (PCL5e and PCL6). Each PDL may have different characteristics, e.g., a PDL may store the image data in a more compressed format or require less computation to store and/or read than another PDL. Additionally, some current printers are designed to process particular types of compressed graphic files instead of, or in addition to, PDL. One example of a compressed graphic file type, which some printers may be designed to process, is Moving Pictures Expert Group (MPEG).
Reference is now made to FIG. 1, which is a flowchart illustrating a process in which image data is converted into a format in which a printer can interpret. As shown in FIG. 1, the process begins when a file is received in a PDL format (block 10). The file could be converted into a language the printer can interpret by a process known as Raster Image Processing (RIP) or rasterizing (block 20). In short, RIP or “rasterizing” changes text and graphics commands into descriptions of each mark on a page. Typically, this process requires large amounts of mathematical computation and processing power.
The rasterization process produces information that is in a format the printer engine can interpret. This format is known as an “engine-ready format,” meaning the image information is now ready for a printing engine to render it to a printed page (block 30).
Rendering typically is done in the printer engine itself, but the rasterizing process may or may not occur in the printer. For example, the image data may be rasterized external to the printer and the image information can be sent to the printer in an engine-ready format. With respect to externally rasterized image data, reduction in rasterization times conventionally has included relying on improvements in processing speeds. However, there may be other ways to reduce rasterization time when the user desires printing.
Based on the foregoing, it should be appreciated that there is a need for improved methods and systems that address the aforementioned and/or other shortcomings of the prior art.